1. Field of the Invention
The present invention relates to an improved data processing system and, in particular, to a method and apparatus for multicomputer data transferring. Still more particularly, the present invention provides a method and apparatus for computer-to-computer data transfer regulating.
2. Description of Related Art
The bandwidth of a network is a resource that needs to be carefully managed. When a number of data transmissions are multiplexed together over a network, the network must efficiently deliver these datastreams and retain the best possible delivered quality even when a transmitting entity attempts to exceed the bandwidth of the intervening network links. Hence, in transferring data within a distributed data processing system between a sending entity, such as a server, and multiple target receiving entities, such as a set of clients, one problem that needs to be addressed is the manner in which data is transmitted from a server to the receivers while managing network bandwidth. More specifically, this problem may include controlling the ability of the server to send an appropriate amount of data to the receivers within an appropriate period of time.
It is often the case that the network bandwidth capacity varies from receiver to receiver. Hence, a simple network management solution that divides network bandwidth equally among the receivers and that transmits data to all receivers at the same rate will result in the bandwidth capacity of one or more receivers being underutilized or overutilized. Although the transmission of data can be managed in a static manner using various threshold limits, the network bandwidth is not utilized efficiently.
Other solutions throttle the transmission of data at the source entity in a dynamic manner by monitoring bandwidth utilization at the OSI transport layer. The Open Systems Interconnection (OSI) Reference Model is a seven-layer abstract description for communications and computer network protocol design which divides the functions of network communication into a stack or a series of layers. The purpose of the transport layer is to provide transparent transfer of data between end users, thus relieving the upper layers from any concern with providing reliable and cost-effective data transfer; TCP/IP (Transport Control Protocol/Internet Protocol) is a commonly used OSI Layer 4 protocol. Although applying bandwidth control at the OSI transport layer can yield efficient bandwidth utilization, these approaches have a significant drawback in that they require replacement of standard TCP/IP software that is commonly bundled within most operating systems. However, it is not an option for many software products to require a significant modification to an operating system with a special TCP/IP implementation that may impact numerous software applications in order to achieve a single software product's goal of efficient bandwidth utilization.
Therefore, it would be advantageous to provide a bandwidth control mechanism within a server that is transmitting data to multiple receivers with different network bandwidth capacities such that the bandwidth control mechanism is wholly contained within a single application.